#ifndef OM_COMPARISON_H_
#define OM_COMPARISON_H_

#include <limits>
#include <cmath>

namespace om
{

inline double epsilon()
{
	return std::numeric_limits<double>::epsilon();
}

inline bool eq(const double a, const double b)
{
    return std::fabs(a-b)<epsilon();
}

inline bool neq(const double a, const double b)
{
    return !eq(a, b);
}

inline bool geq(const double a, const double b)
{
    return (a>b || eq(a, b));
}

inline bool leq(const double a, const double b)
{
    return (a<b || eq(a, b));
}

}

#endif /* OM_COMPARISON_H_ */
